package cn.alex.sso.project.service;

import cn.alex.sso.project.entity.SysRoleClient;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author Alex
 * @description 针对表【sys_role_client(角色和应用关联表)】的数据库操作Service
 * @createDate 2024-09-24 18:43:57
 */
public interface SysRoleClientService extends IService<SysRoleClient> {

    /**
     * 获取应用列表
     *
     * @param roleIdList 角色ID集合
     * @return 应用列表
     */
    List<Long> getClientIdListByRoleId(List<Long> roleIdList);

    /**
     * 保存
     *
     * @param roleId       角色ID
     * @param clientIdList 应用ID集合
     */
    void change(Long roleId, List<Long> clientIdList);

    /**
     * 根据角色ID删除关联
     *
     * @param roleId 角色ID
     */
    void removeByRoleId(Long roleId);

    /**
     * 根据应用ID删除关联数据
     *
     * @param clientId 应用ID
     */
    void removeByClientId(Long clientId);
}
